#include "mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    setWindowTitle("Dock_停靠窗体");
    this->resize(900,600);
    this->setWindowIcon(QIcon("te.ico"));

    //QVBoxLayout* mainLayout = new QVBoxLayout(this);

    //中心窗体：
    QTextEdit* textEdit = new QTextEdit(this);
    //mainLayout->addWidget(textEdit);          //可以不使用布局了，因为已经有主窗口了

    //设置中心窗体：setCentralWidget函数是属于MainWindow对象的，所以要用MainWindow窗口：
    this->setCentralWidget(textEdit);

    //停靠窗口1：
    QDockWidget* dock1 = new QDockWidget("解决方案",this);

    dock1->setFeatures(QDockWidget::DockWidgetMovable);             //设置可移动
    dock1->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);   //设置左和右可以停靠

    //操作有些不同，注意下：
    QWidget* wid = new QWidget;
    //给dock1添加个文本：
    QTextEdit* edit1 = new QTextEdit(wid);
    edit1->setText("该窗口能移动,可以停靠在中心窗体的左右");
    //给dock1添加个图片：
    QLabel* label = new QLabel(wid);
    label->setPixmap(QPixmap("tui.ico"));

    QVBoxLayout* v1Layout = new QVBoxLayout(wid);
    v1Layout->addWidget(edit1);
    v1Layout->addWidget(label);

    dock1->setWidget(wid);

    //设置停靠在主窗口的左边：
    this->addDockWidget(Qt::LeftDockWidgetArea,dock1);


    //停靠窗口2：
    QDockWidget* dock2 = new QDockWidget("类视图",this);
    dock2->setFeatures(QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetMovable);     //设置可关闭    浮动  和   移动
    dock2->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);

    QTextEdit* edit2 = new QTextEdit;
    edit2->setText("该窗口可关闭和浮动,可以停靠在中心窗体的左右");
    dock2->setWidget(edit2);
    //设置停靠在主窗口的右边：
    this->addDockWidget(Qt::RightDockWidgetArea,dock2);


    //停靠窗口3：
    QDockWidget* dock3 = new QDockWidget("资源视图",this);
    dock3->setFeatures(QDockWidget::DockWidgetFloatable);     //设置可移动
    //dock3->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);

    QTextEdit* edit3 = new QTextEdit;
    edit3->setText("该窗口可移动，中心窗体的山下左右都可以停靠");
    dock3->setWidget(edit3);
    //设置停靠在主窗口的右边：
    this->addDockWidget(Qt::LeftDockWidgetArea,dock3);






}

MainWindow::~MainWindow()
{
}

